package cn.itsub.proxy.server.app.service;

import cn.itsub.proxy.common.utils.Result;
import cn.itsub.proxy.server.app.entity.Tunnel;

import java.util.List;

public interface TunnelService {
    /**
     * 添加隧道
     * @param clientKey
     * @param wanPort
     * @param lanHost
     * @param lanPort
     * @param remark
     */
    public int insertTunnel(String clientKey, int wanPort, String lanHost, int lanPort,String remark);

    /**
     * 启动隧道
     * @param tunnelId
     */
    void startTunnel(int tunnelId);

    /**
     * 停止隧道
     * @param tunnelId
     */
    void stopTunnel(int tunnelId);

    /**
     * 删除隧道
     * @param tunnelId
     */
    void deleteTunnel(int tunnelId);

    Result updateTunnel(Tunnel tunnel);

    /**
     * 刷新用户的隧道信息并更新到frp引擎
     * @param userId
     */
    void frpReloadTunnels(String clientKey);

}
